using System;
using System.ComponentModel.DataAnnotations;

namespace ERP.RepositoryManage.Dtos
{
    /// <summary>
    /// 创建采购入库DTO
    /// </summary>
    public class CreateProcurementDto
    {
        /// <summary>
        /// 入库单编号（格式：BKxxx）
        /// </summary>
        [Required(ErrorMessage = "入库单编号不能为空")]
        [StringLength(50, ErrorMessage = "入库单编号长度不能超过50个字符")]
        public string LnboundCode { get; set; }

        /// <summary>
        /// 入库单名称（描述入库内容）
        /// </summary>
        [Required(ErrorMessage = "入库单名称不能为空")]
        [StringLength(200, ErrorMessage = "入库单名称长度不能超过200个字符")]
        public string LnboundName { get; set; }

        /// <summary>
        /// 实际入库日期
        /// </summary>
        [Required(ErrorMessage = "入库日期不能为空")]
        public DateTime LnboundDate { get; set; }

        /// <summary>
        /// 关联的采购订单号（格式：P0xxx）
        /// </summary>
        [StringLength(50, ErrorMessage = "采购订单号长度不能超过50个字符")]
        public string ProcurementNumber { get; set; } = string.Empty;

        /// <summary>
        /// 供应商全称
        /// </summary>
        [Required(ErrorMessage = "供应商不能为空")]
        [StringLength(200, ErrorMessage = "供应商名称长度不能超过200个字符")]
        public string Vendor { get; set; }

        /// <summary>
        /// 入库仓库名称
        /// </summary>
        [Required(ErrorMessage = "入库仓库不能为空")]
        [StringLength(100, ErrorMessage = "仓库名称长度不能超过100个字符")]
        public string LnboundWarehous { get; set; }

        /// <summary>
        /// 入库单总金额
        /// </summary>
        public string TotalAmount { get; set; } = string.Empty;
    }
} 